package com.demo.java.OD301_350.OD312;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【座位调整(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146104853
 */
public class OdMain {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String input = scanner.nextLine();
            String[] parts = input.split(",");

            int length = parts.length;
            int[] zeroCounts = new int[length]; // 存储连续0的数量

            int zeroCount = 0; // 计数连续0的个数
            boolean isFirstZeroSequence = true; // 是否是第一个0序列
            boolean hasOne = false; // 是否至少有一个1

            // 遍历输入的字符串
            for (int i = 0; i < length; i++) {
                String part = parts[i];
                if (part.equals("1")) {
                    // 处理1的情况
                    if (isFirstZeroSequence && zeroCount > 1) {
                        zeroCounts[i] = zeroCount - 1;
                    } else if (zeroCount > 2) {
                        zeroCounts[i] = zeroCount - 2;
                    }
                    zeroCount = 0; // 重置连续0的计数
                    isFirstZeroSequence = false; // 第一个0序列处理完毕
                    hasOne = true; // 存在1
                } else {
                    // 处理0的情况
                    zeroCount += 1;
                }

                // 判断是否为最后一个字符，如果是且存在连续的0序列，将其加入zeroCounts
                if (i == length - 1 && zeroCount > 1) {
                    zeroCounts[i] = hasOne ? zeroCount - 1 : zeroCount;
                }
            }

            // 计算最终结果，向上取整并求和
            int result = 0;
            for (int num : zeroCounts) {
                result += Math.ceil(num / 2.0);
            }

            System.out.println(result);
        }
}